﻿/*
密码截获 
Time Limit:1000MS  Memory Limit:1024K


Description:
Catcher是MCA国的情报员，他工作时发现敌国会用一些对称的密码进行通信，
比如像这些ABBA，ABA，A，123321，但是他们有时会在开始或结束时加入一些无关的字符以防止别国破解。
比如进行下列变化ABBA->12ABBA,ABA->ABAKK,123321->51233214　。
因为截获的串太长了，而且存在多种可能的情况（abaaab可看作是aba,或baaab的加密形式），
Cathcer的工作量实在是太大了，他只能向电脑高手求助，你能帮Catcher找出最长的有效密码串吗？ 

Input:
测试数据有若干行字符串，包括字母，数字，符号。（字母区分大小写） 
Output:
与输入相对应每一行输出一个整数，代表最长有效密码串的长度。 
Sample Input:
ABBA
12ABBA
A
ABAKK
51233214
abaaab
Sample Output:
4
4
1
3
6
5
*/
#include <stdio.h>
#include <string.h>
#define MAX 1024
bool isPalindrome(char *lt, char* rt) 
{
	while(lt<rt) 
	{
		if(*lt!=*rt)
			return 0;
		++lt;
		--rt;
	}

	return 1;	
}

int lngestEffCode(char *str)
{
	if(NULL==str)
		return 0;
	int len = strlen(str);
	while (len>0)
	{
		--len;
		char *lt=str, *rt=str+len;
		for (; *rt; ++lt, ++rt)
			if(isPalindrome(lt, rt))
				return rt-lt+1;
	}

	return 1;
}

int main()
{
	char code[MAX+1]={0};
	while(EOF!=scanf("%s", code))
	{
		printf("%d\n", lngestEffCode(code));
	}

// 	char* ptr="abaaab";
//  	printf("%d\n", lngestEffCode(ptr));
// // 
//  	getch();
	return 0;
}